1. Field of the Invention
The present invention relates in general to data processing systems and, in particular, to temperature controls of a data processing system. Still more particularly, the present invention relates to a method and system for providing flexible temperature control for a data processing system.
2. Description of the Related Art
Integrated circuits (ICs) and other electrical devices generally have rated operating temperature ranges. Within these operating ranges, the devices behave according to specified requirements. Outside of the rated operating range, the response characteristics of the circuits and devices can vary from the specified requirements. At elevated temperatures, for example, integrated circuits and other electrical devices may fail or bum out or otherwise become defective.
Processor chips of computer systems are well known examples of integrated circuits. In addition to the processor or central processing unit (CPU), a computer system also comprises associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS/ROM). These components are primarily ICs, which require particular ranges of temperature for correct operating temperature ranges.
In a computer system, continued operation of an electronic component leads to the generation of heat. In some instances, albeit rare, ambient air is sufficient to provide cooling to maintain the IC within the desired operating temperature range. However, some ICs generate enough heat to require affirmative cooling from a cooling fan. Typically, computers have included one or more cooling fans or heat sinks, etc., inside the computer housing to prevent overheating caused by the normal operation of the computer. The operation of the cooling fan is controlled by the computer system's BIOS, which receives parameter inputs from a flash memory associated with the processor to manage the temperature acoustics within the computer system (e.g., read temperature profiles, determine fan speeds, turn fan on and off, etc.). Power-on self test (POST) and BIOS are both typically stored as a single flash image in a storage device such as a flash memory. This image is commonly called the “boot code”. BIOS includes base modules which are the minimum required in order to properly boot a computer system. The temperature parameters are often provided by the manufacturer of the individual component and included within the temperature control mechanisms (i.e., BIOS, flash memory, fans, etc.) of the computer system. The temperature control circuitry monitors the cooling fans to verify that the fans are powered on and rotating at a predetermined speed to maintain a desired thermal condition that precludes accelerated failures of the electronic components utilized in the computer systems.
During design of large scale computer systems for commercial clients, the system developer/designer (or vendor) typically provides the customer with a qualifying process during which the operating system, overall hardware, and BIOS are “tested” and finalized for the computer system. This testing/qualifying stage typically occurs many months prior to delivery of the actual computer system to the customer. However, the customer is provided with the necessary BIOS and OS so that the customer may begin preparation for immediate installation of the computer system upon delivery. Following a satisfactory testing process, the customer prepares for delivery of the system and enters into a purchasing phase during which the system is acquired over a period of time (e.g., 12-18 months).
Typically, during the purchasing phase, the developer makes upgrades or improvements to the system's hardware. These upgrades often involve utilization of more advanced processors, which become available to the developer after the qualifying process. Thus, for example, the designer may utilize faster processors, which dissipate heat at a higher/faster level than the previous processors utilized during the qualifying process. Also, the processor may be replaced with a higher revision level of the processor, which may exhibit different operating characteristics.
When the customer receives the finished computer system, the customer usually back-flashes the BIOS to the older level (from the qualifying period). Thus the memory module (e.g., EEPROM) is erased and the old BIOS code is “flashed” into the module, including the provided temperature parameters for the down-level processor. However, these temperature parameters are not able to provide the correct operating environment for the processor provided with the system. This creates a problem whenever the processor vendor creates a new processor, which has a different thermal characteristic than past processors. When the customer back-flashes, the computer system will have down-level thermal controls, which could cause problems with system integrity. If the developer is able to predict the temperature profile required for the newer processor during the qualifying process, the developer may create the BIOS with the correct temperature parameters; however, the developer is usually unable to predict far enough into the future to determine what the industry may do in terms of development of better and faster processors with different temperature profiles.
Thus, the extended development process, from qualifying of the computer system to actual delivery, creates a problem with computer systems that are designed for commercial customers particularly when the customer back-flashes a qualified BIOS code from several months before to support a computer system that has gone through upgrades in its processor. With the coming of the Intel P4 and rate of development of higher speed processors, more complex thermal solutions are required for commercial computer systems.
Various methods have been provided to handle temperature control in a computer system. For example, U.S. Pat. No. 5,249,741 provides a method of cooling a computer with a plurality of components that obtains the cooling requirement for the components and varies the rate of one or more of the cooling units based on the cooling requirement. U.S. Pat. No. 5,926,386 provides a configuration-based cooling fan speed controller comprising generally of an EEPROM. The controller may be set in auto mode by which the component configuration detected and the cooling fan speeds retrieved from a fan speed table stored in the EEPROM. However, none of the available methods provides a solution to the problem of updating temperature response for new processors when the new processor is placed in an already qualified system.
The present invention thus recognizes that it would be desirable to provide a method and system for providing flexible temperature parameter adjustments from added components to a computer system. A method and system by which a BIOS within a flash module is updated without requiring erasure and reinstallation of the entire BIOS would be a welcomed improvement. These and other benefits are provided by the invention described herein.